package com.itheima.day05_多态和内部类.homework02;

public class Test02 {
    /*
    【编号：1105】
        定义USB接口:（开启功能）（关闭功能）
        定义笔记本类:（开机功能）（关机功能）
        （定义使用USB设备的功能,要求:既能使用鼠标也能使用键盘,使用USB功能内部调用开启和关闭功能）
        定义鼠标类:要符合USB接口
        定义键盘类:要符合USB接口
        定义测试类:创建电脑对象,依次调用开机方法,使用USB设备, 关机方法
        运行结果：
        笔记本开机
        连接鼠标的USB
        断开鼠标的USB
        连接键盘的USB
        断开键盘的USB
        笔记本关机
     */
    public static void main(String[] args) {
        Laptop lap = new Laptop();
        lap.start();
        lap.useUsb(new Mouse());
        lap.useUsb(new keyBoard());
        lap.end();
    }
}

class Laptop {
    //开机功能
    public void start() {
        System.out.println("笔记本开机");
    }

    //关机功能
    public void end() {
        System.out.println("笔记本关机");
    }

    //使用USB设备的功能
    public void useUsb(Usb u) {
        u.open();
        u.close();
    }
}

//定义USB接口:（开启功能）（关闭功能）
interface Usb {
    void open();

    void close();
}

//定义鼠标类:要符合USB接口
class Mouse implements Usb {

    @Override
    public void open() {
        System.out.println("连接鼠标的USB");
    }

    @Override
    public void close() {
        System.out.println("断开鼠标的USB");
    }
}

//定义键盘类:要符合USB接口
class keyBoard implements Usb {

    @Override
    public void open() {
        System.out.println("连接键盘的USB");
    }

    @Override
    public void close() {
        System.out.println("断开键盘的USB");
    }
}